-
Notifications
You must be signed in to change notification settings - Fork 865
implement expression builders #3761
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: development
Are you sure you want to change the base?
implement expression builders #3761
Conversation
expression ConditionBuilder implementation implement update expression builders and start unit testing name builder unit tests
Thanks for the PR, I will take a look this week at it! |
code seems fine to me. I started a dry-run on our system to run the tests |
the dry run passed/all tests pass |
@@ -320,8 +320,10 @@ partial interface IDynamoDBContext | |||
/// The type must be marked up with <see cref="DynamoDBTableAttribute" /> and at least | |||
/// one public field/property with <see cref="DynamoDBHashKeyAttribute" />. | |||
/// </remarks> | |||
/// <typeparam name="T">Type of object.</typeparam> | |||
/// <param name="hashKey">Hash key element of the object to delete.</param> | |||
/// <typeparam name="T">The type representing the item stored in DynamoDB. This must be a modeled type |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The DynamoDBTableAttribute
is optional. There are other ways for the IDynamoDBContext
to understand the schema for the POCO besides the attributes. The SDK will default to the name of the type as the table name. Users can also use the TableBuilder
to register a schema definition for a type. We don't want to add to the docs to say that attributes are required.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the typeparam summary is updated
Add an expression builder for DynamoDB conditional expressions, akin to the Go SDK’s dynamodb/expression package and Boto3’s dynamodb.conditions, to streamline expression creation.
Description
In Document Model add support for fluent ExpressionBuilder similar to the GO SDK. The implementation will follow a design pattern comparable to the Go SDK's expression package, using method chaining to define update actions and condition expressions in a type-safe and readable way.
Create condition expressions examples:
Equal
And
Update actions expression:
Set
Set increment
Motivation and Context
#2602
update the generic parameter documentation for DeleteAsync #2615
Testing
Unit tests added

Screenshots (if appropriate)
Types of changes
Checklist
License